package map08;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * Arrays:一个专门操作的数组工具类,里面定义了大量操作数组方法:对数组排序,对数组二分查找...
 * static <T> List<T> asList(T... a)
 *      asList可以将数组中的元素封装到一个集合中,然后返回这个集合
 *
 * <T> T[] toArray(T[] a)
 *       将集合中元素封装到指定数组中,然后返回这个数组
 * ArrayList类中
 *  ArrayList(Collection<? extends E> c)
 *           构造一个包含指定 collection 的元素的列表，这些元素是按照该 collection 的迭代器返回它们的顺序排列的。
 *
 */
public class Demo02 {
    public static void main(String[] args) {
        //method01();
        /**
         * 1.Arrays.asList("abc","def","ghk","lmn")
         *   会将4个元素封装到一个List集合中,然后返回这个集合
         * 2.我们通过ArrayList构造方法传入这个集合,此时new的ArrayList对象会利用传过来这个集合中的元素来填充数据
         */
        ArrayList<String> al = new ArrayList<String>(Arrays.asList("abc","def","ghk","lmn"));
      /*  al.add("abc");
        al.add("def");
        al.add("ghk");
        al.add("lmn");*/
        System.out.println(al);
    }

    private static void method01() {
        List<String> list = Arrays.asList("abc", "def");
        for (String s : list) {
            System.out.println(s);
        }
    }
}
